گرافکس ڈیوائس انٹرفیس
گرافکس ڈیوائس انٹرفیس ( جی ڈی آئی ) مائیکروسافٹ کی تیار کردہ ایک سافٹ وئیر لائبریری اور ونڈوز آپریٹنگ سسٹم کے بنیادی اجزاء میں سے ایک ہے۔ اس کا مقصد گرافکس اجزاء کو تخلیق کرنا اور انھیں بیرونی آلات جیسا کہ مانیٹر اور پرنٹر پر دکھانا ہے۔
جی ڈی آئی کی مدد بنیادی شکلیں جیسا کہ خط، دائرے، کثیر اضلاع (Polygon) بنائے جاتے ہیں۔ اس کے علاوہ اس کی مدد سے فونٹ اور رنگ کی پیلٹ کو منظم کیا جاتا ہے۔تاہم یہ ونڈوز کے بنیادی اجزاء جیسا کہ بٹن، مینو یا دیگر کنٹرولز کی تیار میں استعمال نہیں ہوتا۔ اس مقصد کے لیے مائیکروسافٹ نے علاحدہ لائبریری User32.dll کے نام سے موجود ہے
جی ڈی آئی کا سب سے بڑا فائدہ یہ ہے کہ اس میں آپ کو (بطور پروگرامر) براہ راست ہارڈ وئیر کے متعلق کچھ کرنے کی ضرورت نہیں۔ آپ مختلف آلات جیسا مانیٹر اور پرنٹر پر براہ راست اپنی تیار شدہ شکلیں دکھا سکتے ہیں
اگرچہ جی ڈی آئی بہت آسان ہے اور اس کی مدد سے نہایت آسانی سے شکلیں بنائی جا سکتی ہیں لیکن یہ کافی سست بھی ہے۔ جہاں ہمیں تیز رفتار پروسیسنگ کی ضرورت ہو جیسا کہ اینی میشن یا ویڈیوز گیمز وغیرہ تو وہاں اسے استعمال نہیں کیا جا سکتا۔ جدید ویڈیو گیمز میں ڈائرکٹ ایکس (DirectX) اور اوپن جی ایل(OpenGL) کو استعمال کیا جاتاہے
تکنیکی تفصیلات
[ترمیم]پہلے آلے کا سیاق و سباق (Device Context) حاصل کیا جاتا ہے تاکہ اس پر شکل یا تحریر کو دکھایا جاسکے۔شکلیں بنانے کے لیے جی ڈی آئی بنیادی طریقے ہی استعمال کرتا ہے جیسا کہ خط (Line) کے لیے برسن ہیم لائن ڈرائینگ الگوردھم وغیرہ [1]
ورژن کی تاریخ
[ترمیم]ابتدائی ورژن
[ترمیم]جی ڈی آئی کو ونڈوز کی ابتداءمیں ہی پیش کر دیا گیا تھا لیکن اس کے ساتھ کچھ تیکنکی مسائل تھے۔مثال کے طور پر یہ ویڈیو میموری کو براہ راست استعمال کرنے کی کوشش کرتا تھا اور دوران استعمال اس کا سافٹ وئیر ویڈیو میموری پر مکمل طور پر قبضہ کرلیتا تھا جس کی وجہ دیگر سافٹ وئیر ویڈیو میموری کو استعمال نہیں کرپاتے تھے۔ دسمبر 1983 میں بائٹ (BYTE) نے مائیکرو سافٹ کو ونڈوز میں ایسے طریقہ کار کا مشورہ دیا جو سکرین اورپرنٹر کے لیے یکساں کام کرے۔ ۔ اس نظام کو بعد میں آنے والے آپریٹنگ سسٹمز یعنی ونڈوز 1.0، 2.0، 3.0، 95، 98 اور 2000 میں بھی استعمال کیا گیا۔
ونڈوز ایکس پی
[ترمیم]ونڈوز ایکس پی میں پہلی مرتبہ سی پلس پلس (C++) میں تیار کردہ جی ڈی آئی پلس (GDI+) کو متعارف کرایا گیا۔ اس میں کئی عمدہ خصوصیات شامل کی گئیں جن میں زیادہ پیچیدہ شکلیں، رنگ اور جدید گرافکس فائلز فارمیٹ جیسا کہ جے پیگ (JPEG) اور پی این جی (PNG) کی سہولیات شامل کی گئیں۔اس کے علاوہ ایفائن ٹرانسفارمیشن (Affine Transformation) اور اے آر جی بی (ARGB) کی سہولیات بھی شامل کی گئیں جس کی وجہ سے ویکٹر گرافکس اور اینی میشن میں بہت آسانی ہوئی اور فلیش اور ایس وی جی کو بھی مددملی۔ جی ڈی آئی پلس کو مائیکروسافٹ پینٹ، ونڈوز پکچر اینڈ فیکس ویور، فوٹو پرنٹنگ ویزارڈ، مائی پکچر سلائیڈ شو اور سکرین سیور میں بھی استعمال کیا گیا۔
اگرچہ جی ڈی آئی پلس کو باقاعدہ طور پر ونڈوز ایکس پی کے ساتھ شامل کیا گیا لیکن اس سے بیشتر بھی یہ ونڈوز 98 اور ونڈوز این ٹی 4.0 کے ساتھ بھی غیر سرکاری طور پر میسر تھی۔ [2]
چونکہ جی ڈی آئی پلس ریزولیوشن سے بالکل الگ ہو کر کام کرتی ہے جس کی وجہ سے اس میں آسانی ملتی لیکن یہ چیز اسے سست بھی کرتی ہے۔ [3] یہاں مرکزی پروسیسر ہی کام کرتا ہے جس کی وجہ پروسیسنگ کی رفتار کم رہتی ہے۔ [4] کرس جیکسن نے کچھ نتائج شائع کیے جس سے یہ ظاہر ہوتا ہے کہ ٹیکسٹ رینڈرنگ کا ایک مجموعہ جو اعلان کے مطابق وہ جی ڈی آئی میں 99،000 گلیف فی سیکنڈ پیش کرسکتا ہے ، لیکن جی ڈی آئی + کا استعمال کرتے ہوئے محض 16،600 گلف فی سیکنڈ پیش کرسکا۔
مائیکرو سافٹ ڈاٹ نیٹ میں جی ڈی آئی اور جی ڈی آئی پلس کو مخصوص نیم سپیس System.
Drawing
پیش کیا گیا ہے۔
جی ڈی آئی + ایپل کے کوئیک ڈرا جی ایکس (QuickDraw GX)سب سسٹم اور اوپن سورس لب آرٹ (Libart)اور کائرو (Cairo) لائبریریوں کی طرح (مقصد اور ساخت میں) ہے۔
ونڈوز وسٹا
[ترمیم]ونڈوز وسٹا میں ، جی ڈی آئی اور جی ڈی آئی + ایپلی کیشنز سمیت ونڈوز کے تمام ایپلی کیشنز نئے کمپوزٹنگ انجن ، ڈیسک ٹاپ ونڈو مینیجر (ڈی ڈبلیو ایم) میں چلتے ہیں جو ونڈوز ڈسپلے ڈرائیور ماڈل پر بنایا گیا ہے۔ جی ڈی آئی کی رینڈرنگ کینونیکل ڈسپلے ڈرائیور کی مدد سے تیار کی گئی ہے جو براہ راست کمپیوٹر کی ریم کو استعمال کرتا ہے۔ اس کی وجہ سے ڈرائنگ کی رفتار بہتر ہوئی ہے۔ [5] [6] [7] کیونکہ اب رینڈرنگ میں تبدیلیاں سافٹ وئیر کی زمہ داری نہیں ہے۔
مزید دیکھیے
[ترمیم]- ون جی (WinG)
- ڈائرکٹ ایکس (DirectX)
- XML پیپر کی تفصیلات
- ڈائریکٹ ٹو ڈی (Direct2D)
- ڈائریکٹ رائٹ (DirectWrite)
- ان سبکرائب
- مائیکرو سافٹ ونڈوز لائبریری فائلیں
- ↑ Comparing Direct2D and GDI Hardware Acceleration. https://msdn.microsoft.com/en-us/library/windows/desktop/ff729480(v=vs.85).aspx
- ↑ GDI+
- ↑ "2D Drawing APIs in Windows -"۔ DirectX Developer Blog۔ MSDN Blogs۔ May 12, 2009۔ اخذ شدہ بتاریخ July 19, 2012
- ↑ Chris Jackson۔ "GDI vs. GDI+ Text Rendering Performance"۔ Chris Jackson's Semantic Consonance۔ Microsoft
- ↑ MSDN: Comparing Direct2D and GDI Hardware Acceleration
- ↑ GDI is not hardware accelerated in Windows Vista
- ↑ Layered windows...SW is sometimes faster than HW. Avalite on MSDN Blogs.